.TH std::chrono::operator<<(std::chrono::year) 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::chrono::operator<<(std::chrono::year) \- std::chrono::operator<<(std::chrono::year)

.SH Synopsis
   Defined in header <chrono>
   template< class CharT, class Traits >

   std::basic_ostream<CharT, Traits>&                                     \fI(since C++20)\fP

       operator<<( std::basic_ostream<CharT, Traits>& os, const
   std::chrono::year& y );

   Forms a std::basic_string<CharT> s consisting of the year value stored in y
   formatted as a decimal number, left-padded with 0 to four digits if the result would
   otherwise be less than four digits. Then, if !y.ok(), append " is not a valid year"
   to the formatted string. Inserts that string into os.

   Equivalent to

   return os << (y.ok() ?
       std::format(STATICALLY_WIDEN<CharT>("{:%Y}"), y) :
       std::format(STATICALLY_WIDEN<CharT>("{:%Y} is not a valid year"), y));

   where STATICALLY_WIDEN<CharT>("...") is "..." if CharT is char, and L"..." if CharT
   is wchar_t.

.SH Return value

   os

.SH Example


// Run this code

 #include <chrono>
 #include <iostream>

 int main()
 {
     constexpr std::chrono::year y1{2020}, y2{-020}, y3{98304};
     std::cout << y1 << '\\n'
               << y2 << '\\n'
               << y3 << '\\n';
 }

.SH Possible output:

 2020
 -0016
 -32768 is not a valid year

.SH See also

   format                            stores formatted representation of the arguments
   (C++20)                           in a new string
                                     \fI(function template)\fP
   std::formatter<std::chrono::year> formatting support for year
   (C++20)                           \fI(class template specialization)\fP
